﻿using System;
using System.ComponentModel;
using DevExpress.Xpo;
using DevExpress.Data.Filtering;
using DevExpress.ExpressApp;
using DevExpress.Persistent.Base;
using DevExpress.Persistent.BaseImpl;
using DevExpress.Persistent.Validation;
namespace Top.Module.Domain
{
    [DefaultClassOptions]
    public class TopTradeAmount : BaseObject
    {
        //begin
        public TopTradeAmount(Session session) : base(session)
        {}
        public override void AfterConstruction(){base.AfterConstruction();}

        private string _BuyerCodFee;
        [Size(SizeAttribute.Unlimited)]
        public string BuyerCodFee
        {
            get
            {
                return _BuyerCodFee;
            }
            set
            {
                SetPropertyValue("BuyerCodFee", ref _BuyerCodFee, value);
            }
        }
        private string _SellerCodFee;
        [Size(SizeAttribute.Unlimited)]
        public string SellerCodFee
        {
            get
            {
                return _SellerCodFee;
            }
            set
            {
                SetPropertyValue("SellerCodFee", ref _SellerCodFee, value);
            }
        }
        private string _ExpressAgencyFee;
        [Size(SizeAttribute.Unlimited)]
        public string ExpressAgencyFee
        {
            get
            {
                return _ExpressAgencyFee;
            }
            set
            {
                SetPropertyValue("ExpressAgencyFee", ref _ExpressAgencyFee, value);
            }
        }
        private string _Tid;
        [Size(SizeAttribute.Unlimited)]
        public string Tid
        {
            get
            {
                return _Tid;
            }
            set
            {
                SetPropertyValue("Tid", ref _Tid, value);
            }
        }
        private string _AlipayNo;
        [Size(SizeAttribute.Unlimited)]
        public string AlipayNo
        {
            get
            {
                return _AlipayNo;
            }
            set
            {
                SetPropertyValue("AlipayNo", ref _AlipayNo, value);
            }
        }
        private DateTime _Created;
        public DateTime Created
        {
            get
            {
                return _Created;
            }
            set
            {
                SetPropertyValue("Created", ref _Created, value);
            }
        }
        private DateTime _PayTime;
        public DateTime PayTime
        {
            get
            {
                return _PayTime;
            }
            set
            {
                SetPropertyValue("PayTime", ref _PayTime, value);
            }
        }
        private DateTime _EndTime;
        public DateTime EndTime
        {
            get
            {
                return _EndTime;
            }
            set
            {
                SetPropertyValue("EndTime", ref _EndTime, value);
            }
        }
        private string _TotalFee;
        [Size(SizeAttribute.Unlimited)]
        public string TotalFee
        {
            get
            {
                return _TotalFee;
            }
            set
            {
                SetPropertyValue("TotalFee", ref _TotalFee, value);
            }
        }
        private string _PostFee;
        [Size(SizeAttribute.Unlimited)]
        public string PostFee
        {
            get
            {
                return _PostFee;
            }
            set
            {
                SetPropertyValue("PostFee", ref _PostFee, value);
            }
        }
        private string _CodFee;
        [Size(SizeAttribute.Unlimited)]
        public string CodFee
        {
            get
            {
                return _CodFee;
            }
            set
            {
                SetPropertyValue("CodFee", ref _CodFee, value);
            }
        }
        private string _Payment;
        [Size(SizeAttribute.Unlimited)]
        public string Payment
        {
            get
            {
                return _Payment;
            }
            set
            {
                SetPropertyValue("Payment", ref _Payment, value);
            }
        }
        private string _CommissionFee;
        [Size(SizeAttribute.Unlimited)]
        public string CommissionFee
        {
            get
            {
                return _CommissionFee;
            }
            set
            {
                SetPropertyValue("CommissionFee", ref _CommissionFee, value);
            }
        }
        private long _BuyerObtainPointFee;
        public long BuyerObtainPointFee
        {
            get
            {
                return _BuyerObtainPointFee;
            }
            set
            {
                SetPropertyValue("BuyerObtainPointFee", ref _BuyerObtainPointFee, value);
            }
        }
        [Association("TradeAmountPromotionDetails", typeof(TopPromotionDetail))]
        public XPCollection PromotionDetails
        {
            get
            {
                return GetCollection("PromotionDetails");
            }
        }
        [Association("TradeAmountOrderAmounts", typeof(TopOrderAmount))]
        public XPCollection OrderAmounts
        {
            get
            {
                return GetCollection("OrderAmounts");
            }
        }
        //end
    }
}
